<!DOCTYPE html>
<html>
<head>
<link href='../../dist/fullcalendar.css' rel='stylesheet' />
<link href='../../dist/fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='../../node_modules/jquery/dist/jquery.js'></script>
<script src='../../node_modules/moment/moment.js'></script>
<script src='../../dist/fullcalendar.js'></script>
<script src='../../dist/gcal.js'></script>
<script>

	var cal, staticEvents;
	
	var date = new Date();
	var d = date.getDate();
	var m = date.getMonth();
	var y = date.getFullYear();

	$(document).ready(function() {
		cal = $('#calendar').fullCalendar({
			editable: true,
			weekends: false,
			header: {
				left: 'prev,next today',
				center: 'title',
				right: 'month,agendaWeek,basicWeek,agendaDay,basicDay'
			},
			loading: function(bool) {
				if (bool) {
					$('#loading').show();
				}else{
					$('#loading').hide();
				}
			},
			events: staticEvents = [
				{
					title: 'All Day Event',
					start: new Date(y, m, 1)
				},
				{
					title: 'Long Event',
					start: new Date(y, m, d-5),
					end: new Date(y, m, d-2)
				},
				{
					id: 999,
					title: 'Repeating Event',
					start: new Date(y, m, d-3, 16, 0),
					allDay: false
				},
				{
					id: 999,
					title: 'Repeating Event',
					start: new Date(y, m, d+4, 16, 0),
					allDay: false
				},
				{
					title: 'Meeting',
					start: new Date(y, m, d, 10, 30),
					allDay: false
				},
				{
					id: 777,
					title: 'Lunch',
					start: new Date(y, m, d, 12, 0),
					end: new Date(y, m, d, 14, 0),
					allDay: false
				},
				{
					title: 'Birthday Party',
					start: new Date(y, m, d+1, 19, 0),
					end: new Date(y, m, d+1, 22, 30),
					allDay: false
				},
				{
					title: 'Click for Google',
					start: new Date(y, m, 28),
					end: new Date(y, m, 29),
					url: 'http://google.com/'
				}
			]
		});
	});
	
	function updateEventStart() {
		var event = cal.fullCalendar('clientEvents', 777)[0];
		event.start = new Date(y, m, d, 13, 30);
		event.end = new Date(y, m, d, 14, 50);
		//event.start = new Date(y, m, 25, 10, 30); // move big days
		//event.end = new Date(y, m, 26);
		//event.allDay = true;
		cal.fullCalendar('updateEvent', event);
	}
	
	function updateRepeatingEvent() {
		var event = cal.fullCalendar('clientEvents', 999)[0];
		event.start = new Date(y, m, 4, 13, 30);
		event.end = new Date(y, m, 5, 2, 0);
		event.allDay = true;
		event.title = "repeat yo";
		//event.editable = false;
		event.url = "http://google.com/";
		event.color = 'red';
		event.textColor = 'green';
		cal.fullCalendar('updateEvent', event);
		//console.log(cal.fullCalendar('clientEvents', 2));
	}
	
	function renderEvent(stick) {
		cal.fullCalendar('renderEvent', {
			start: new Date(y, m, 17),
			title: 'heyman'
		}, stick);
	}
	
	function getView() {
		var view = cal.fullCalendar('getView');
		console.log(view.start + ' --- ' + view.end + ' "' + view.title + '"');
	}
	
	function getDate() {
		console.log(cal.fullCalendar('getDate'));
	}
	
	function optionGetter() {
		console.log(cal.fullCalendar('option', 'editable'));
	}
	
	var gcalFeed = $.fullCalendar.gcalFeed("http://www.google.com/calendar/feeds/usa__en%40holiday.calendar.google.com/public/basic");
	
	var jsonFeed = "../demos/json-events.php";

</script>
<style>

	button {
		font-size: 11px;
	}

</style>
</head>
<body style='font-size:12px'>
<p>

<button onclick="cal.fullCalendar('prev')">prev</button>
<button onclick="cal.fullCalendar('next')">next</button>
<button onclick="cal.fullCalendar('today')">today</button>
<button onclick="cal.fullCalendar('gotoDate', 1999, 9, 31)">Oct 31 1999</button>
<button onclick="cal.fullCalendar('gotoDate', new Date(1999, 9, 30))">Oct 30 1999 (Date)</button>
<button onclick="cal.fullCalendar('incrementDate', 1, 1, 1)">+1 +1 +1</button>
<button onclick="cal.fullCalendar('incrementDate', -1, -1, -1)">-1 -1 -1</button>

<button onclick="updateEventStart()">update event start</button>
<button onclick="updateRepeatingEvent()">update repeating event</button>
<button onclick="renderEvent(false)">render new event</button>
<button onclick="renderEvent(true)">render new sticky event</button>
<br />

<button onclick="cal.fullCalendar('removeEvents')">remove all</button>
<button onclick="cal.fullCalendar('removeEvents', 999)">remove repeating events</button>
<button onclick="cal.fullCalendar('removeEvents', function(e){return !e.allDay})">remove timed events</button>
<button onclick="console.log(cal.fullCalendar('clientEvents'))">log events</button>
<button onclick="console.log(cal.fullCalendar('clientEvents', '999'))">log repeating events</button>
<button onclick="console.log(cal.fullCalendar('clientEvents', function(e){return e.allDay}))">log all-day events</button>
<br />

<button onclick="cal.fullCalendar('addEventSource', staticEvents)">+ static events</button>
<button onclick="cal.fullCalendar('removeEventSource', staticEvents)">- static events</button>
<button onclick="cal.fullCalendar('addEventSource', gcalFeed)">+ gcal</button>
<button onclick="cal.fullCalendar('removeEventSource', gcalFeed)">- gcal</button>
<button onclick="cal.fullCalendar('addEventSource', jsonFeed)">+ json</button>
<button onclick="cal.fullCalendar('removeEventSource', jsonFeed)">- json</button>

<button onclick="cal.fullCalendar('rerenderEvents')">rerender events</button>
<button onclick="cal.fullCalendar('refetchEvents')">refetch events</button>
<br />

<button onclick="cal.fullCalendar('changeView', 'month')">change to month</button>
<button onclick="cal.fullCalendar('changeView', 'basicWeek')">change to basicWeek</button>
<button onclick="cal.fullCalendar('changeView', 'basicDay')">change to basicDay</button>
<button onclick="getView()">getView</button>
<button onclick="getDate()">getDate</button>
<button onclick="optionGetter()">option getter</button>
<button onclick="cal.width(1100)">change width (passive)</button>
<button onclick="cal.fullCalendar('render')">render</button>
<button onclick="cal.fullCalendar('option', 'height', 1000)">change height</button>

</p>
<div id='loading' style='position:absolute;display:none'>loading...</div>
<div id='calendar' style='width:70%;margin:20px auto 0;font-family:arial'></div>
</body>
</html>
